package com.pmenergy.model;

// Generated 15/08/2014 01:13:30 AM by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

/**
 * Cliente generated by hbm2java
 */
@Entity
@Table(name = "CLIENTE", schema = "TECNOTREE")
public class Cliente implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private BigDecimal clienteId;
	private String nombre;
	private String direccion;
	private String ruc;
	private String ciudad;
	private String pais;
	private String telefono1;
	private String telefono2;
	private String contacto;
	private String email;
	private Set<Proforma> proformas = new HashSet<Proforma>(0);

	public Cliente() {
	}

	public Cliente(BigDecimal clienteId, String nombre) {
		this.clienteId = clienteId;
		this.nombre = nombre;
	}

	public Cliente(BigDecimal clienteId, String nombre, String direccion,
			String ruc, String ciudad, String pais, String telefono1,
			String telefono2, String contacto, String email,
			Set<Proforma> proformas) {
		this.clienteId = clienteId;
		this.nombre = nombre;
		this.direccion = direccion;
		this.ruc = ruc;
		this.ciudad = ciudad;
		this.pais = pais;
		this.telefono1 = telefono1;
		this.telefono2 = telefono2;
		this.contacto = contacto;
		this.email = email;
		this.proformas = proformas;
	}

	@Id
	@TableGenerator(name = "EVENTO_CLIENTE",
    table = "SECUENCIA",
    pkColumnName = "NOMBRE",
    valueColumnName = "VALOR",
    pkColumnValue = "CLIENTE",
    allocationSize=1)
	@GeneratedValue(strategy=GenerationType.TABLE,generator = "EVENTO_CLIENTE")

	@Column(name = "CLIENTE_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getClienteId() {
		return this.clienteId;
	}

	public void setClienteId(BigDecimal clienteId) {
		this.clienteId = clienteId;
	}

	@Column(name = "NOMBRE", nullable = false, length = 60)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "DIRECCION", length = 100)
	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name = "RUC", length = 13)
	public String getRuc() {
		return this.ruc;
	}

	public void setRuc(String ruc) {
		this.ruc = ruc;
	}

	@Column(name = "CIUDAD", length = 20)
	public String getCiudad() {
		return this.ciudad;
	}

	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}

	@Column(name = "PAIS", length = 20)
	public String getPais() {
		return this.pais;
	}

	public void setPais(String pais) {
		this.pais = pais;
	}

	@Column(name = "TELEFONO1", length = 20)
	public String getTelefono1() {
		return this.telefono1;
	}

	public void setTelefono1(String telefono1) {
		this.telefono1 = telefono1;
	}

	@Column(name = "TELEFONO2", length = 20)
	public String getTelefono2() {
		return this.telefono2;
	}

	public void setTelefono2(String telefono2) {
		this.telefono2 = telefono2;
	}

	@Column(name = "CONTACTO", length = 40)
	public String getContacto() {
		return this.contacto;
	}

	public void setContacto(String contacto) {
		this.contacto = contacto;
	}

	@Column(name = "EMAIL", length = 30)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "cliente")
	public Set<Proforma> getProformas() {
		return this.proformas;
	}

	public void setProformas(Set<Proforma> proformas) {
		this.proformas = proformas;
	}

}
